ObjectCursor

Einleitung

Der ObjectCursor von Udo Egner-Walter ist eine Skriptsammlung für den Screenreader JAWS der Firma Freedom Scientific. Die Sammlung beinhaltet Skripts, um dem Screenreader JAWS eine weitere Cursor-Art zur Verfügung zu stellen. In gewisser Weise ähnelt der ObjekctCursor dem bereits in JAWS integrierten TouchCursor, um zwischen den Steuerelementen einer Anwendung zu navigieren, fügt jedoch neue Features hinzu.

Dies ist keine offizielle Skriptsammlung der Firma Freedom Scientific den Entwicklern von JAWS. Alle enthaltenen Scripts wurden ausgiebig getestet. Dennoch kann es vorkommen, dass Skripts nicht ordnungsgemäß funktionieren. Ich weise Sie deshalb ausdrücklich darauf hin, dass Sie diese Skriptsammlung auf eigene Gefahr benutzen und der Autor keine Haftung für die Skripts dieser Sammlung übernimmt, ebenso keine Haftung für Schäden durch die Verwendung der Skripts oder falsch verstandener Anwendung der Skriptsammlung.

Weitere Infos zur Benutzung dieser Skriptsammlung entnehmen Sie bitte dem Abschnitt Copyright.

Udo Egner-Walter, Dezember 2020

Inhaltsverzeichnis:

Systemvoraussetzungen

Folgende Voraussetzungen sind nötig, um diese Skriptsammlung nutzen zu können:

Diese Skriptsammlung von Udo Egner-Walter ist lizensiert unter der Creative Commons Namensnennung-Nicht kommerziell 4.0 International

Dies ist eine allgemeinverständliche Zusammenfassung der Lizenz (die diese nicht ersetzt).

Haftungsbeschränkung

Sie dürfen:

Der Lizenzgeber kann diese Freiheiten nicht widerrufen solange Sie sich an die Lizenzbedingungen halten.

Unter folgenden Bedingungen:

Hinweise

Sie müssen sich nicht an diese Lizenz halten hinsichtlich solcher Teile des Materials, die gemeinfrei sind, oder soweit Ihre Nutzungshandlungen durch Ausnahmen und Schranken des Urheberrechts gedeckt sind.

Es werden keine Garantien gegeben und auch keine Gewähr geleistet. Die Lizenz verschafft Ihnen möglicherweise nicht alle Erlaubnisse, die Sie für die jeweilige Nutzung brauchen. Es können beispielsweise andere Rechte wie Persönlichkeits- und Datenschutzrechte zu beachten sein, die Ihre Nutzung des Materials entsprechend beschränken.

Quelle: https://creativecommons.org/licenses/by-nc/4.0/deed.de

Danksagung

Persönlich bedanken möchte ich mich vor allen bei folgenden Testern (alphabetisch):

Vielen Dank für eure Rückmeldungen und Vorschläge.

Weiter gilt mein Dank all den Testern, die ich vergessen habe zu erwähnen oder die hier nicht erwähnt werden wollten. Auch euch vielen Dank fürs Testen.

Ganz herzlich bedanken möchte ich mich auch bei René Ludwig, der es ermöglicht hat, dass die Skriptsammlung auf der deutschen JAWS-Seite zum Download angeboten werden kann.

Und zum Abschluss möchte ich noch dem Team, von DeepL danken für Bereitstellung des kostenlosen Übersetzungsdienstes im Web unter DeepL, welcher mir bei der Übersetzung ins Englische eine große Hilfe war.

Vielen Dank euch allen!

History

2020–12

Erste Veröffentlichung. Enthaltene Funktionen:

Installationsanleitung

Vorbemerkung

Diese Skriptsammlung umfasst folgende Dateien:

Die Installation umfasst folgende Schritte, die anschließend näher erläutert werden:

a) Kopieren ins Anwenderskriptverzeichnis
b) myExtensions-Skriptdatei verwenden
c) Tasten für die Skripts hinzufügen
d) Kompilieren des Quellcodes

a) Kopieren ins Anwenderskriptverzeichnis

Der erste Schritt besteht darin, die oben genannten Dateien in das Anwenderskriptverzeichnis zu kopieren.

Gehen Sie hierzu wie folgt vor:

Hinweis: Falls Sie auf die eben beschriebene Weise nicht in Ihr Anwenderskriptverzeichnis gelangen können, so können Sie alternativ so vorgehen:

Sie befinden sich nun in Ihrem Anwenderskriptverzeichnis, in welches Sie die o. g. Dateien kopieren können.

Achtung! Überschreiben Sie Dateien im Zielverzeichnis nur, wenn Sie eine ältere Skriptversion durch eine neuere Skriptversion ersetzen möchten. Fertigen Sie zuvor ein Backup der Dateien an.

b) myExtensions-Skriptdatei verwenden

Bei der Datei MyExtensions.jss handelt es sich um eine Anwenderskriptdatei, die von den JAWS-Entwicklern für eigene Skripts zur Verfügung gestellt wird. Sollte in Ihrem Anwenderskriptverzeichnis bereits eine Datei namens MyExtensions.jss existieren, so öffnen Sie diese mit dem Windows-Editor und fügen Sie folgenden Eintrag am Ende ein:

use "ewObjectCursor.jsb"

Sollte die Datei MyExtensions.jss noch nicht existieren, so benennen Sie die Datei:

ewObjectCursor (myExtensions).jss

um in die Datei:

MyExtensions.jss

c) Tasten für die Skripts hinzufügen

Damit die Skripttasten verfügbar werden, müssen Sie in Ihre eigenen Tastaturzuordnungsdateien integriert werden.

Wenn sich in Ihrer Anwenderskriptdatei keine Datei namens Default.jkm befindet, so benennen Sie die Datei:

ewObjectCursor.jkm 

um in die Datei:

Default.jkm 

Fahren Sie dann mit dem nächsten Schritt d) Kompilieren des Quellcode fort.

Falls eine Datei Default.jkm bereits in Ihrem Anwenderskriptverzeichnis existiert, so öffnen Sie bitte die Datei ewObjectCursor.jkm in einem Texteditor. Sie können für die einfachere Bearbeitung die Endung JKM umbenennen in die Endung TXT.

  1. Markieren Sie die Zeilen bis zur ersten Leerzeile (die folgende Zeile nach der Leerzeile ist [Common Keys]
  2. Schneiden Sie nun die soeben markierten Zeilen mit Strg+X* aus in die Zwischenablage
  3. Nachdem Sie markierten Zeilen in die Zwischenablage ausgeschnitten haben, öffnen Sie die Datei Default.jkm ebenfalls in einem Texteditor. Auch hier können Sie zur leichteren Bearbeitung die Endung JKM zunächst in TXT umbenennen. Sie müssen allerdings darauf achten, diese später wieder zurück in JKM umzubenennen, da JAWS ihre angepassten Tasten andernfalls nicht mehr findet.
  4. Erstellen Sie am Anfang der Datei Default.jkm durch eine Zeilenschaltung eine Leerzeile und fügen Sie dort den Inhalt der in die Zwischenablage ausgeschnittenen Einträge hinein.
  5. Kopieren Sie nun die Einträge der ersten Datei ewObjectCursor.jkm unterhalb des Abschnittes [Common Keys] in die Zwischenablage.
  6. Wechseln Sie erneut zur Datei Default.jkm
  7. Suchen Sie hier den Abschnitt [Common Keys]
  8. Gehen Sie ans Ende dieser Zeile und fügen Sie mit der Eingabetaste eine Leerzeile ein
  9. Fügen Sie in die erstellte Leerzeile den in die Zwischenablage kopierten Text ein
  10. Speichern Sie die Datei und denken Sie daran, die Endung TXT wieder zurück auf JKM* umzubenennen.

d) Kompilieren des Quellcode

Damit JAWS die Skripts nutzen kann, muss der Code vorher kompiliert werden, das heißt in ein für JAWS verwendetes Format übersetzt werden. Da diese Übersetzung von JAWS-Version zu JAWS-Version unterschiedlich ist, muss man dies für die jeweilige JAWS-Version von Hand erledigen. Die einzelnen Schritte sind wie folgt:

Ausführliche Beschreibung der Skripts

Tasten zum Starten und Beenden:

Taste Beschreibung
Alt+Umschalt+Plus (im Nummernblock) Aktiviert den ObjectCursor
Escape Beendet den ObjectCursor

Bewegen im ObjectCursor mit und ohne Ändern des Systemfokus

Der TouchCursor von JAWS verändert den Systemfokus bei seiner Verwendung nicht automatisch, um ein Erkunden des Bildschirms zu ermöglichen und damit der Anwender nach dem Beenden des TouchCursor wieder an der ursprünglichen Stelle mit dem Systemfokus zurückkehren kann. Da es in einigen Fällen sinnvoll ist, eine Erkundung des Bildschirms ohne Veränderung des Systemfokus zu ermöglichen, andererseits es in anderen Fällen sinnvoll wäre, den Systemfokus gleich mit dem Verwenden des ObjectCursors mitzubewegen, wurden im ObjectCursor beide Möglichkeiten vorgesehen.

Bewegen im ObjectCursor ohne Ändern des Systemfokus

Taste Beschreibung
Pfeil rechts Bewegt den ObjectCursor ein Steuerelement weiter ohne den Systemfokus zu ändern
Pfeil links Bewegt den ObjectCursor ein Steuerelement zurück ohne den Systemfokus zu ändern
Pos1 Bewegt den ObjectCursor zum ersten Objekt der Anwendung ohne den Systemfokus zu ändern
Ende Bewegt den ObjectCursor zum letzten Objekt der Anwendung ohne den Systemfokus zu ändern

Bewegen im ObjectCursor mit Ändern des Systemfokus

Taste Beschreibung
Tab Bewegt den ObjectCursor zusammen mit dem Systemfokus weiter zum nächsten Steuerelement. Falls der Systemfokus nicht zum neuen Objekt bewegt werden kann, bleibt der Systemfokus beim zuvor verwendeten Objekt.
Umschalt+Tab Bewegt den ObjectCursor zusammen mit dem Systemfokus zurück zum vorherigen Steuerelement. Falls der Systemfokus nicht zum neuen Objekt bewegt werden kann, bleibt der Systemfokus beim zuvor verwendeten Objekt.
Strg+Pos1 Bewegt den ObjectCursor zum ersten Objekt der Anwendung. Falls das erste Objekt fokussiert werden kann, wird der Systemfokus dorthin gesetzt.
Strg+Ende Bewegt den ObjectCursor zum letzten Objekt der Anwendung. Falls das letzte Objekt fokussiert werden kann, wird der Systemfokus dorthin gesetzt.

Eine Anwendung besteht aus verschiedenen Steuerelementen wie Schalter, Eingabefelder, Menüs und so weiter. Diese Steuerelementtypen können im ObjectCursor schnell erreicht werden. Hierbei stehen folgende Tasten zur Verfügung:

Taste Beschreibung
Pfeil hoch Springt zum vorherigen Steuerelement, welches durch Drücken von Bild auf/ab aktuell eingestellt ist.
Pfeil runter Springt zum nächsten Steuerelement, welches durch Drücken von Bild auf/ab aktuell eingestellt ist.
Bild auf Ändert den Steuerelementtyp aufwärts, sodass Sie mit Pfeil hoch/runter dieses anspringen können. Es werden nur Steuerelementtypen zur Auswahl angezeigt, die auch tatsächlich in der Anwendung vorhanden sind.
Bild ab Ändert den Steuerelementtyp abwärts, sodass Sie mit Pfeil hoch/runter dieses anspringen können. Es werden nur Steuerelementtypen zur Auswahl angezeigt, die auch tatsächlich in der Anwendung vorhanden sind.
Strg+Pfeil rechts Springt zum nächsten Steuerelement desselben Typs. Stehen Sie beispielsweise aktuell auf einer Schaltfläche, so bewirkt der Befehl, dass die nächste Schaltfläche gesucht wird.
Strg+Pfeil links Springt zum vorherigen Steuerelement desselben Typs. Stehen Sie beispielsweise aktuell auf einer Schaltfläche, so bewirkt der Befehl, dass die vorherige Schaltfläche gesucht wird.
Strg+Umschalt+Pfeil rechts Springt zum nächsten Steuerelement eines anderen Typs. Stehen Sie beispielsweise auf der ersten Registerkarte und möchten auf das erste Steuerelement nach allen folgenden Registerkarten, so drücken Sie diese Tastenkombination.
Strg+Umschalt+Pfeil links Springt zum vorherigen Steuerelement eines anderen Typs. Stehen Sie beispielsweise auf der letzten Registerkarte und möchten auf das erste Steuerelement vor den Registerkarten, so drücken Sie diese Tastenkombination.

Ausführen und Fokussieren von Objekten

Taste Beschreibung
Leertaste oder Einfügen+Plus (im Nummernblock) Wenn das aktuell im ObjectCursor gewählte Objekt den Systemfokus erhalten kann, bewirkt das Drücken dieser Taste, dass der Systemfokus an diese Stelle gesetzt wird. Der ObjectCursor wird dabei nicht beendet.
Eingabetaste Das aktuelle Objekt wird ausgeführt. Ist dies nicht möglich, wird ein Mausklick auf das aktuelle Objekt durchgeführt. Der ObjectCursor wird anschließend beendet.
Umschalt+Eingabetaste Das aktuelle Objekt wird ausgeführt. Ist dies nicht möglich, wird ein Mausklick auf das aktuelle Objekt durchgeführt. Im Gegensatz zur zuvor genannten Tastenkombination (Eingabetaste), wird der ObjectCursor allerdings nicht beendet. Vielmehr werden die Objekte der Anwendung neu eingelesen. Dies ermöglicht unter anderem, dass man auf einer Registerkarte im Menüband stehend, diese aktivieren kann und anschließend die neu aufgetauchten Steuerelemente dieser Registerkarten im ObjectCursor zur Verfügung hat ohne diese verlassen und neu starten zu müssen.
Alt+Eingabetaste Es wird ein Mausklick auf das aktuelle Objekt durchgeführt und der ObjectCursor anschließend geschlossen.
Strg+Eingabetaste Dieser Befehl simuliert den sogenannten MouseOver-Effekt. Hierbei wird die Maus zum aktuell gewählten Objekt gezogen und kurz bewegt. Dies bewirkt, dass zum Beispiel im Internet MouseOver-Menüs aktiviert werden. Der ObjectCursor wird hierbei nicht beendet und die Objekte der Anwendung neu eingelesen.
Strg+Umschalt+Eingabetaste Wenn Sie die zuvor genannte Tastenkombination verwenden, um ein Menü zu öffnen, so ist es im Anschluss nötig, dass die Maus nicht mehr auf dem aktuellen Objekt platziert ist. Aus diesem Grund setzt diese Tastenkombination die Mausposition neu und bewegt die Maus in die linke obere Ecke des Bildschirms.

Einstellungen und Verfeinern der Suchergebnisse

Da unterschiedliche Anwendungen unterschiedliche Bedürfnisse hervorbringen können, zeigt Ihnen die folgende Auflistung, wie Sie Suchergebnisse ihren Wünschen entsprechen anpassen können sowie Einstellungen für bestimmte Anwendungen speichern können:

Taste Beschreibung
Strg+A Speichert die aktuellen Einstellungen des ObjectCursor für die im Vordergrund befindliche Anwendung. Diese Einstellungen werden beim nächsten Start des ObjectCursor für diese Anwendung automatisch geladen.
Strg+Rücktaste Falls Sie für die aktuelle Anwendung die Einstellungen mit der zuvor genannten Tastenkombination gesichert haben, löscht diese Tastenkombination die hiermit verknüpfte Datei mit den Einstellungen.
F1 Ändert den Filter für die aufgelisteten Objekte des ObjectCursors. Wenn Sie die Taste einmalig drücken, wird von JAWS der aktuell gewählte Filter gesprochen. Drücken Sie die Taste zweimal kurz hintereinander, dann wird die nächste Filtereinstellung aktiv. Filter für Objekte sind:
  1. Kein Filter. Bei dieser Einstellung werden alle Objekte des Anwendungsfenster bzw. die Objekte eines Dialoges aufgelistet. Bedenken Sie, dass nicht immer alle Objekte für einen Systemfokus zur Verfügung steht und Sie nicht alle Objekte ausführen können. Der Filter ist vorteilhaft, wenn Sie sich einen Überblick über die Anwendung verschaffen möchten. Soll die Anwendung jedoch effizient bedient werden und nicht alle Steuerelemente angezeigt werden, verwenden Sie einen der folgenden Filter.
  2. Inaktive Elemente ausblenden: Blendet alle Elemente der Anwendung bzw. des Dialogs aus, die inaktiv sind. Inaktive Elemente werden auf dem Bildschirm meist grau dargestellt und können mit der Tab-Taste nicht erreicht werden.
  3. Inaktive und namenlose Elemente ausblenden: Dieser Filter blendet zusätzlich zu allen inaktiven Elementen auch die Elemente aus, die keinen Namen haben.
  4. Nur per Tastatur fokussierbare Elemente anzeigen: Dieser Filter zeigt nur Elemente an, die auch mit der Tab-Taste erreicht werden können und entspricht damit im Wesentlichen der Bedienung mit dem PC-Cursor.
Taste Beschreibung
F2 Diese Einstellung legt fest, ob der ObjectCursor am Ende oder Anfang der Liste stoppen soll. Ist die Einstellung nicht aktiviert, so endet die Navigation am Ende bzw. am Anfang der Liste und es ertönt ein Signalton. Ist die Einstellung aktiviert, so beginnt der ObjectCursor am Ende bei weiterer Navigation mit Pfeil rechts wieder am Anfang der Liste bzw. am Anfang der Liste und weiterer Navigation mit Pfeil links wieder am Ende.
F3 Einstellung für Suche mit Kurztasten. Während der ObjectCursor aktiv ist, können Sie durch Tippen einer alphanumerischen Taste sich schnell durch die Liste aller Objekte bewegen. Hierbei haben Sie folgenden beide Möglichkeiten:
  1. Suche nach Namen: Entspricht der Suche in normalen Listen mit einer Kurztaste. Wenn Sie in Ihrer Anwendung beispielsweise eine Schaltfläche Berechnen haben, so drücken Sie solange nacheinander b, bis die Schaltfläche Berechnen aktiviert ist. Die Suche beginnt an der aktuellen Position. Wird bei den nachfolgenden Objekten keine Übereinstimmung gefunden, beginnt die Suche automatisch beim ersten Objekt der Anwendung/des Dialogs und endet – wenn nichts gefunden wird – an der aktuellen Position.
  2. Suche nach Steuerelement-Typ: Entspricht der Kurztastensuche im TouchCursor. Hierbei stehen folgende Buchstaben zur Verfügung:
    A - Nächster Auswahlschalter
    B - Nächster Schalter
    C - Nächste Ausklappliste
    D - Nächstes Dokument
    E - Nächstes Eingabefeld
    F - Nächstes Formularfeld
    G - Nächste Grafik
    H - Nächste Überschrift
    I - Nächstes Listenelement
    K - Nächster Link
    L - Nächste Liste
    M - Nächstes Menü
    O - Nächste Werkzeugleiste
    P - Nächster Bereich
    Q - Nächste Registerkarte
    R - Nächste Region
    S - Nächstes Vorkommen von statischem Text
    T - Nächste Tabelle
    U - Nächste Gruppe
    V - Nächste Strukturansicht
    X - Nächstes Kontrollfeld
    Z - Nächste Statuszeile

Temporärer Überwachungsspot und Spots

Taste Beschreibung
Alt+F7 Setzen des temporären Überwachungsspots. Der ObjectCursor wird hierbei nicht beendet. Ein Überwachungsspot könnte zum Beispiel eine Zeitanzeige in einem Mediaplayer sein, die sich ständig ändert.
Alt+Umschalt+F7 Drücken Sie diese Tasten außerhalb des ObjectCursors, wenn Sie mit der zuvor genannten Tastenkombination einen temporären Überwachungsspot festgelegt haben. Wenn Sie die Taste drücken, wird der Name des Objekts von JAWS gesprochen (zum Beispiel eine sich ändernde Anzeige). Der temporäre Spot bleibt solange aktiv bis Sie JAWS oder das verwendete Programm schließen.
Alt+Leertaste Markiert das aktuelle Objekt im ObjectCursor als Spot und fügt ihn der Liste der Spots hinzu
Alt+Umschalt+Strg+Plus (im Nummernblock) oder Strg+Umschalt+Plus (im Nummernblock) Diese Taste steht nur außerhalb des ObjectCursors zur Verfügung und öffnet einen Dialog mit den zuvor als Spot markierten Objekten. Im Dialog selbst haben Sie folgende Möglichkeiten:

Wenn Sie sich für eine Auswahl entschieden haben, drücken Sie die Eingabetaste, um dies zu bestätigen oder die Escape-Taste, um den Vorgang abzubrechen. Nach Bestätigen der Auswahl mit der Eingabetaste wird eine „nicht ausführbare“ Pseudo-Taste erstellt. Anschließend wird der Tastaturmanager geöffnet und JAWS spricht den Namen des neu erstellten Skripts. Suchen Sie das genannte Skript im Tastaturmanager und ändern Sie die „Pseudo“ Taste über das Kontextmenü, indem Sie eine eigene Taste vergeben.

Lesetasten:

Taste Beschreibung
Einfügen+Pfeil hoch Spricht das aktuell im ObjectCursor gewählte Objekt.
Einfügen+Pfeil runter Spricht alle Objekte des aktuellen Fensters der Reihe nach
Strg+Pfeil runter Spricht alle Text-Steuerelemente des aktuellen Fensters wie statischen Text, Dokumentfenster, Eingabefelder usw.
Alt+N Spricht den Namen des aktuell gewählten Objects
Alt+F Spricht die Beschreibung des aktuell gewählen Objekts
Alt+H Spricht den Hilfetext des aktuell gewählten Objekts

Sonstige Tastenkombinationen

Die im Folgenden aufgelisteten Tastenkombinationen lassen sich schlecht in Kategorien aufteilen und werden deshalb hier aufgelistet:

Taste Beschreibung
Strg+N Kopiert die Namen aller Steuerelemente des aktuellen Steuerelementtyps in die Zwischenablage. Wenn Sie sich auf einem Listeneintrag befinden, werden sozusagen alle Listeneinträge in die Zwischenablage kopiert.
Strg+S Kopiert alle Kurztasten und Tastenkombinationen des aktuellen Fensters in die Zwischenablage. Beachten Sie bitte, dass Sie für Tastenkombinationen des Menübandes den Vorgang für jede einzelne Registerkarte wiederholen müssen, da die Steuerelemente einer Registerkarte erst am Bildschirm angezeigt werden, wenn diese aktiviert wurde.
Umschalt+F1 Setzen eines temporären Lesezeichens im ObjectCursor. Möchten Sie beispielsweise die Steuerelemente weiter erkunden jedoch später wieder an die aktuelle Position zurück, so können Sie mit dieser Tastenkombination eine temporäres Lesezeichen setzten und mit der folgenden diese später wieder aktivieren. Möchten Sie ein Objekt per Drag & Drop verschieden, so drücken Sie ebenfalls diese Tastenkombination, damit das Objekt für eine spätere Drag & Drop-Operation markiert ist.
Umschalt+F2 Aktiviert ein zuvor erstelltes temporäres Lesezeichen.
Strg++Umschal+F2 Wenn Sie zuvor ein Objekt als temporäres Lesezeichen markiert haben, wird dieses jetzt in einem Drag & Drop-Vorgang auf das aktuelle Objekt gezogen.

Kontakt

Wenn Sie Fehler entdecken, Fragen haben, Anregungen und Verbesserungsvorschläge machen wollen oder Kritik äußern möchten, können Sie dies gerne in deutscher oder englischer Sprache an folgende E-Mail-Adresse tun:

udo.egner-walter@web.de

Bitte bedenken Sie jedoch, dass diese Skriptsammlung von mir als Privatperson erstellt wurde und ich ggf. nur in begrenztem Umfang auf Ihre E-Mails antworten kann.